package com.ccys.db.vo.app.home;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.util.List;

/**
 * @Author：XLY
 * @Date：2024/1/15 0015
 */
@Data
public class ActiveActionVo {
    /**
     *     "data": {
     *         "profile_email_activated": false,
     *         "profile_email_activated_message": "You are eligible for enhanced telemedicine benefits.\r\n\r\nYour corporate / corporate-dependant profile has now been created.",
     *         "dependant_invitations": [],
     *         "sharing_child_invitations": [],
     *         "subscription_invitations": [],
     *         "subscription_removals": []
     *     }
     */
    // TODO: 2024/1/15 0015 另外二个集合内容不知道

    @JsonProperty("profile_email_activated")
    private boolean profile_email_activated;

    @JsonProperty("profile_email_activated_message")
    private String profile_email_activated_message;

    @JsonProperty("dependant_invitations")
    private List<DependantInvitationVo> dependant_invitations;

    @JsonProperty("sharing_child_invitations")
    private List<SharingChildInvitationVo> sharing_child_invitations;


    @JsonProperty("subscription_invitations")
    private List<subscriptionInvitationVo> subscription_invitations;


    @JsonProperty("subscription_removals")
    private List<SubscriptionRemovalVo> subscription_removals;


    @Data
    public static class DependantInvitationVo{

        private String id;

        @JsonProperty("first_name")
        private String firstName;

        @JsonProperty("last_name")
        private String  lastName;

        @JsonProperty("full_name")
        private String fullName;

        private Integer gender;

    }


    @Data
    public static class SharingChildInvitationVo{

        private String id;

        @JsonProperty("first_name")
        private String firstName;

        @JsonProperty("last_name")
        private String  lastName;

        @JsonProperty("full_name")
        private String fullName;

        private Integer gender;

        @JsonProperty("child_name")
        private String childName;

    }


    @Data
    public static class subscriptionInvitationVo{

        @JsonProperty("family_id")
        private String familyId;

        @JsonProperty("Mem_First_Name")
        private String memFirstName;

        @JsonProperty("Mem_Last_Name")
        private String memLastName;

        @JsonProperty("full_name")
        private String fullName;

        @JsonProperty("Mem_Gender")
        private String memGender;

        @JsonProperty("profile_name")
        private String profileName;


        @JsonProperty("profile_id")
        private String profileId;
    }

    @Data
    public static class SubscriptionRemovalVo{
        @JsonProperty("family_id")
        private String familyId;

        @JsonProperty("Mem_First_Name")
        private String memFirstName;

        @JsonProperty("Mem_Last_Name")
        private String memLastName;

        @JsonProperty("full_name")
        private String fullName;

        @JsonProperty("Mem_Gender")
        private String memGender;

        @JsonProperty("profile_name")
        private String profileName;

        @JsonProperty("profile_id")
        private String profileId;
    }
}
